﻿#pragma once

using namespace System;


namespace $RootNamespace$
{
	private ref class Client sealed abstract
	{
		static void Main(array<System::String^> ^args);
	};
	// $ISubject$ 
	private interface class $ISubject$
	{
		void $Request$();
	};


	// $Proxy$ class
	private ref class $Proxy$ : $ISubject$
	{
	private:
		$ISubject$ ^_realSubject;
		property $ISubject$ ^realSubject
		{
			$ISubject$ ^get();
			void set($ISubject$ ^value);
		}

	public:
		virtual void $Request$() sealed;
	};
	// $RealSubject$ class
	private ref class $RealSubject$ : $ISubject$
	{
	private:

	public:
		static void Test();
		virtual void $Request$() sealed;
	};
}
